package com.ym.medical.domain.entity;

import com.fasterxml.jackson.databind.annotation.JsonSerialize;
import com.ym.medical.enums.FileTypeEnum;
import io.swagger.annotations.ApiModel;
import io.swagger.annotations.ApiModelProperty;
import lombok.AllArgsConstructor;
import lombok.Builder;
import lombok.Data;
import lombok.NoArgsConstructor;

import javax.persistence.Id;
import javax.persistence.Table;
import java.util.Date;

/**
 * 文件信息对象 file_infor
 *
 * @author ym
 * @date 2020-08-17
 */
@ApiModel("文件信息-实体")
@Data
@Builder
@AllArgsConstructor
@NoArgsConstructor
@Table(name = "file_infor")
public class FileInforEntity {

	private static final long serialVersionUID = 1L;

	/**
	 * 主键
	 */
	@Id
	@ApiModelProperty("主键")
	private String id;

	/**
	 * 文件类别(表名_字段名 中文描述)
	 */
	@ApiModelProperty("文件类别(表名_字段名 中文描述)")
	private String fileCate;

	/**
	 * 文件种类(DOC/IMG)
	 */
	@ApiModelProperty("文件种类(DOC/IMG/REC/VIDEO)")
	@JsonSerialize(converter = FileTypeEnum.Covert.class)
	private String fileType;

	/**
	 * 文件大小
	 */
	@ApiModelProperty("文件大小")
	private Long fileSize;

	/**
	 * 文件名
	 */
	@ApiModelProperty("文件名")
	private String fileName;

	/**
	 * 文件扩展名
	 */
	@ApiModelProperty("文件扩展名")
	private String fileExt;

	/**
	 * 文件路径
	 */
	@ApiModelProperty("文件路径")
	private String filePath;

	/**
	 * 系统类型(mbs、mfs)
	 */
	@ApiModelProperty("系统类型(mbs、mfs)")
	private String sysType;

	/**
	 * 用户来源表(sys_user、user)
	 */
	@ApiModelProperty("用户来源表(sys_user、user)")
	private String userTable;

	/**
	 * 上传用户ID
	 */
	@ApiModelProperty("上传用户ID")
	private Long uploaderId;

	/**
	 * 上传时间
	 */
	@ApiModelProperty("上传时间")
	private Date uploadTime;

	/**
	 * 扩展字段
	 */
	@ApiModelProperty("扩展字段")
	private String extra;

}
